1. Field
One or more embodiments of the present invention relate to a method, medium and system for setting a transfer unit in a data processing system, and more particularly, to a method, medium and system setting a transfer unit in order to minimize the overhead of processing data in a data processing system that processes data by repeatedly transmitting data stored in a low-speed operating memory to a high-speed operating memory so that the data can be processed by the high-speed operating memory, and transmitting the result of the processing to the low-speed operating memory.
2. Description of the Related Art
In general, a large-capacity memory is indispensable for encoding or decoding a large amount of data, such as video data. Typically, a large-capacity memory operates at low speed since it has high density and a long access time, and a low-capacity memory operates at high speed since it has low density and a short access time. Since the operating speed of a large-capacity memory is significantly lower than that of a central processing unit that processes data (hereinafter referred to as a “CPU”), the performance of a data processing system that processes data using a large-capacity memory is degraded mainly by the low-speed operating characteristics of the large-capacity memory. In order to solve this problem, a general digital signal processor system capable of encoding/decoding video data (hereinafter referred to as a “DSP system”) uses a cache memory, and performs most operations at high speed, like that of a CPU, using a low-capacity memory, such as a static random access memory (SRAM), and transmits the result of performing the operations to a large-capacity memory, such as a dynamic random access memory (DRAM) or a synchronous DRAM (SDRAM).
Memory access parameters for controlling the operation of memory must be set in order to allow a CPU to fetch data from a large-capacity memory and transfer it to a cache memory. The memory access parameters are values set by the CPU in order to control data to be input to or output from a memory, and the memory operates according to the set memory access parameters. In order to minimize the overhead on the CPU when controlling data input/output (I/O) operations, it is possible to control data to be input to or output from the memory according to direct memory access (hereinafter referred to as “DMA”). DMA is a process for directly transmitting data between I/O devices or memories without using a CPU. While the CPU generally does not use a bus in the system, a DMA controller is given the right to use the bus from the CPU, set memory access parameters for controlling memory, and directly control data to be input to or output from a plurality of memories.
However, the CPU must set DMA parameters for driving the DMA controller in order to operate the DMA controller. Since the DMA parameters must be set whenever the DMA controller operates, the DMA parameters must be set whenever the DMA controller accesses a memory to fetch data from the memory, so as to transfer the data to another memory. Also, if the memory access parameters are set whenever the DMA controller accesses a memory, so as to fetch data from the memory, a SDRAM must set memory access parameters whenever rows in the memory change. Thus, use of a memory with small row sizes increases the overhead on the data processing system when data I/O operations are performed.
Accordingly, when data is transmitted in a small transfer unit, such as a macro block, the number of times that the data is transmitted increases in order to process the entire data. Here, the number of times the DMA parameters are set also increases, thus increasing the number of times memory access parameters are set so as to fetch data from a memory, such as SDRAM. Therefore, the overhead on the CPU when performing data I/O operations increases in proportion to the amount of time required to perform processes of transmitting data.
In order to solve this problem, data can be transmitted and processed in a transfer unit greater than a macro block. For example, macro blocks in a frame are transmitted in row units. When eight macro blocks form a row, data transmission is performed 8 times in order to process a frame consisting of 8×8 macro blocks, thereby reducing the number of times DMA parameters and memory access parameters are set. When transfer units are increased for data processing, the amount of setting time for data transmission is reduced, thus reducing the overhead on the data processing system when performing data I/O operations. However, in this case, the amount of data to be transmitted and processed at a time is increased, and a delay time required to perform a process of transmitting data, process the transmitted data, and transmit the processed data is increased.